#include "SimpleMap.h"
#include "SpriteTile.h"

namespace Implement
{
	class Maze : 
		public Core::GameLogic::SimpleMap,
		public Graphics::SpriteTile
	{
		Graphics::SpriteTile::TileData m_Data;
		Core::Position m_Pos;
		int m_Money;

		void Init(void);
	public:
		Maze(Graphics::Drawable* image, int mapWidth, int mapHeight, int blockWidth,int blockHeight);
		Maze(Graphics::Drawable* image, const std::string& filename, int blockWidth,int blockHeight);
		~Maze(void);

		virtual const Core::Position& GetPos();
		virtual int GetSequence(void);

		// Get the tile data for rendering
		virtual const Graphics::SpriteTile::TileData& GetData(void);

		virtual void OnMove(SourceType& source);
		int GetMoney(void);
	};
}
